Identifying self-admitted technical debt in issue tracking systems using machine learning
نویسندگان
چکیده
Abstract Technical debt is a metaphor indicating sub-optimal solutions implemented for short-term benefits by sacrificing the long-term maintainability and evolvability of software. A special type technical explicitly admitted software engineers (e.g. using TODO comment); this called Self-Admitted Debt or SATD. Most work on automatically identifying SATD focuses source code comments. In addition to comments, issue tracking systems have shown be another rich SATD, but there are no approaches specifically in issues. paper, we first create training dataset collecting manually analyzing 4,200 issues (that break down 23,180 sections issues) from seven open-source projects (i.e., Camel, Chromium, Gerrit, Hadoop, HBase, Impala, Thrift) two popular Jira Google Monorail). We then propose optimize an approach machine learning. Our findings indicate that: 1) our outperforms baseline wide margin with regard F1-score; 2) transferring knowledge suitable datasets can improve predictive performance approach; 3) extracted keywords intuitive potentially types indicators SATD; 4) different less common compared same system; 5) small amount data needed achieve good accuracy.
منابع مشابه
Hidden Technical Debt in Machine Learning Systems
Machine learning offers a fantastically powerful toolkit for building useful complex prediction systems quickly. This paper argues it is dangerous to think of these quick wins as coming for free. Using the software engineering framework of technical debt, we find it is common to incur massive ongoing maintenance costs in real-world ML systems. We explore several ML-specific risk factors to acco...
متن کاملUsing Analytics to Quantify Interest of Self-Admitted Technical Debt
Technical debt refers to the phenomena of taking a shortcut to achieve short term development gain at the cost of increased maintenance effort in the future. The concept of debt, in particular, the cost of debt has not been widely studied. Therefore, the goal of this paper is to determine ways to measure the ‘interest’ on the debt and use these measures to see how much of the technical debt inc...
متن کاملRework Effort Estimation of Self-admitted Technical Debt
Programmers sometimes leave incomplete, temporary workarounds and buggy codes that require rework. This phenomenon in software development is referred to as Selfadmitted Technical Debt (SATD). The challenge therefore is for software engineering researchers and practitioners to resolve the SATD problem to improve the software quality. We performed an exploratory study using a text mining approac...
متن کاملAssessing technical debt by identifying design flaws in software systems
4 Tough time-to-market constraints and unanticipated integration or 5 evolution issues lead to design tradeoffs that usually cause flaws in 6 the structure of a software system. Thus, maintenance costs grow 7 significantly. The impact of these design decisions, which provide 8 short-term benefits at the expense of the system_s design integrity, is 9 usually referred to as technical debt. In thi...
متن کاملDebt Collection Industry: Machine Learning Approach
Businesses are increasingly interested in how big data, artificial intelligence, machine learning, and predictive analytics can be used to increase revenue, lower costs, and improve their business processes. In this paper, we describe how we have developed a data-driven machine learning method to optimize the collection process for a debt collection agency. Precisely speaking, we create a frame...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Empirical Software Engineering
سال: 2022
ISSN: ['1382-3256', '1573-7616']
DOI: https://doi.org/10.1007/s10664-022-10128-3